ASP.NET ওয়েব অ্যাপ্লিকেশনগুলোর জন্য নিরাপত্তা এবং ব্যবহারকারীর পরিচিতি নিশ্চিত করার জন্য বিভিন্ন ধরনের Authentication Modes প্রদান করে। এগুলি বিভিন্ন পদ্ধতিতে ব্যবহারকারীর সনাক্তকরণ এবং প্রবেশাধিকার নিয়ন্ত্রণ করে। Authentication Modes হল: Forms Authentication, Windows Authentication, এবং Passport Authentication। এই তিনটি মোডে ব্যবহৃত পদ্ধতিগুলো ভিন্ন ভিন্ন ধরনের অ্যাপ্লিকেশন এবং ইউজার এক্সপিরিয়েন্সের জন্য উপযুক্ত।
Forms Authentication
Forms Authentication হল একটি জনপ্রিয় এবং বহুল ব্যবহৃত সিস্টেম যা ওয়েব অ্যাপ্লিকেশনে ইউজার লগইন এবং নিরাপত্তা নিশ্চিত করতে ব্যবহৃত হয়। এটি ইউজারের username এবং password গ্রহণ করে, এবং সফল লগইনের পর একটি authentication ticket তৈরি করে যা ক্লায়েন্ট ব্রাউজারে cookies হিসেবে সংরক্ষিত হয়। পরবর্তীতে ইউজার যে কোনো পেজ বা রিসোর্সে অ্যাক্সেস করার চেষ্টা করলে, সিস্টেম সেই টিকিটটি যাচাই করে।
বৈশিষ্ট্য:
- ইউজাররা একটি login form এর মাধ্যমে তাদের তথ্য প্রদান করে।
- Authentication Ticket এবং Cookies ব্যবহারের মাধ্যমে ইউজারের অবস্থান ট্র্যাক করা হয়।
- ইউজারকে Redirect করে একটি নির্দিষ্ট লগইন পেজে প্রেরণ করা যায়।
- সুরক্ষিত পেজে প্রবেশের আগে ইউজারকে লগইন করা বাধ্যতামূলক হয়।
কনফিগারেশন:
Web.config ফাইলে Forms Authentication কনফিগার করতে হয়:
<configuration>
<system.web>
<authentication mode="Forms">
<forms loginUrl="Login.aspx" timeout="30" />
</authentication>
<authorization>
<deny users="?" /> <!-- Guests can't access the page -->
</authorization>
</system.web>
</configuration>
এখানে:
- loginUrl: লগইন পেজের URL নির্ধারণ করা হয়।
- timeout: টিকিটের মেয়াদ সময় (minutes) নির্ধারণ করা হয়।
উদাহরণ:
// Login authentication in C#
protected void btnLogin_Click(object sender, EventArgs e)
{
if (IsValidUser(txtUsername.Text, txtPassword.Text))
{
FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, chkRememberMe.Checked);
}
else
{
lblError.Text = "Invalid credentials.";
}
}
এই উদাহরণে, FormsAuthentication.RedirectFromLoginPage ইউজারকে লগইন পেজে রিডিরেক্ট করবে এবং একটি authentication ticket তৈরি করবে।
Windows Authentication
Windows Authentication ব্যবহার করে সিস্টেমটি ইউজারের পরিচিতি যাচাই করে Windows user credentials (যেমন Windows username এবং password) এর মাধ্যমে। এটি সাধারণত Intranet অ্যাপ্লিকেশন এবং Active Directory ব্যবহারের জন্য উপযুক্ত, যেখানে ইউজারদের জন্য আলাদা login forms এর প্রয়োজন হয় না। সিস্টেম ইউজারের কম্পিউটার বা ডোমেইনে লগইন করা প্রমাণ হিসেবে ব্যবহার করে।
বৈশিষ্ট্য:
- Windows ইউজার অ্যাকাউন্ট ব্যবহার করা হয়।
- ইউজারকে লগইন করতে হয় না যদি তারা ইতোমধ্যে Windows এ লগইন করা থাকে।
- একাধিক অ্যাপ্লিকেশন একই Windows credentials শেয়ার করতে পারে।
- সাধারণত Intranet অ্যাপ্লিকেশনে ব্যবহৃত হয়, যেখানে সক্রিয় ডোমেইনে ইউজারদের স্বীকৃতির জন্য Active Directory ব্যবহার করা হয়।
কনফিগারেশন:
Web.config ফাইলে Windows Authentication কনফিগার করতে হয়:
<configuration>
<system.web>
<authentication mode="Windows" />
<authorization>
<allow users="Domain\username" />
<deny users="?" />
</authorization>
</system.web>
</configuration>
এখানে:
- authentication mode="Windows": সিস্টেমটি Windows Authentication মোডে চলছে।
- allow এবং deny ট্যাগ ব্যবহার করে ইউজারদের অ্যাক্সেস নিয়ন্ত্রণ করা হয়।
Passport Authentication
Passport Authentication (বর্তমানে Microsoft Account Authentication নামে পরিচিত) একটি single sign-on (SSO) সিস্টেম, যা ইউজারকে একাধিক ওয়েবসাইটে একই লগইন তথ্য ব্যবহার করে প্রবেশ করতে দেয়। এর মাধ্যমে ইউজারের একটি Microsoft Passport অ্যাকাউন্ট দিয়ে একাধিক অ্যাপ্লিকেশন এবং সাইটে প্রবেশ করা সম্ভব।
বৈশিষ্ট্য:
- ইউজারের লগইন এক্সপিরিয়েন্স উন্নত হয়, কারণ একবার লগইন করার পর একাধিক সাইটে প্রবেশ করা যায়।
- Single Sign-On (SSO) পদ্ধতিতে কাজ করে।
- এটি ব্যবহৃত হয় যেখানে একাধিক সাইট বা অ্যাপ্লিকেশন একই ইউজার তথ্য শেয়ার করে।
কনফিগারেশন:
Web.config ফাইলে Passport Authentication কনফিগার করতে হয়:
<configuration>
<system.web>
<authentication mode="Passport" />
<authorization>
<allow users="*" />
</authorization>
</system.web>
</configuration>
এখানে, Passport মোডে অ্যাপ্লিকেশনটি ইউজারের Microsoft Passport ব্যবহার করে ইউজার অথেন্টিকেশন সম্পাদন করবে।
Summary
ASP.NET এ Authentication Modes তিনটি প্রধান পদ্ধতি ব্যবহারকারীদের পরিচিতি নিশ্চিত করার জন্য ব্যবহৃত হয়:
- Forms Authentication: একটি কাস্টম লগইন ফর্ম ব্যবহার করে ইউজারের পরিচিতি নিশ্চিত করে এবং টিকিট ব্যবহার করে ইউজারের অবস্থান ট্র্যাক করে।
- Windows Authentication: Windows ইউজার ক্রেডেনশিয়াল ব্যবহার করে ইউজারের সনাক্তকরণ সম্পন্ন করে এবং সাধারণত Intranet অ্যাপ্লিকেশনে ব্যবহৃত হয়।
- Passport Authentication: একাধিক সাইটে একই লগইন তথ্য ব্যবহার করার জন্য Single Sign-On (SSO) পদ্ধতি প্রদান করে, এবং এটি Microsoft অ্যাকাউন্টের মাধ্যমে পরিচালিত হয়।
প্রত্যেকটি Authentication মোডের উপকারিতা এবং ব্যবহার ক্ষেত্র ভিন্ন, এবং সঠিক মোড নির্বাচন করা একটি অ্যাপ্লিকেশনের নিরাপত্তা এবং ইউজার এক্সপিরিয়েন্সের জন্য গুরুত্বপূর্ণ।
Read more